#include "mainwindow.h"
#include <QApplication>

#include "Logger.h"
#include "mqclient.h"
#include "mqconfigmanager.h"
#include "mqsimpleconsumer.h"
#include "mqsamplemessagehandler.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setWindowIcon(QIcon(":/Icon/image/fruitsorting.png"));


//    // 将消费者对象声明在main函数作用域中
//    std::shared_ptr<MQSampleMessageHandler> handler;
//    std::shared_ptr<MQSimpleConsumer> consumer;
//    // 1. 首先确保配置管理器正确初始化
//    MQConfigManager* configManager = MQConfigManager::getInstance();

//    // 2. 可选：手动加载特定配置文件
//   if (!configManager->loadConfig("mqconfig.json")) {
//       qWarning() << "配置文件加载失败，将使用默认配置";
//   }

//    // 3. 获取MQ客户端实例并连接
//    MQClient* client = MQClient::getInstance();
//    bool success = client->connectAndInitialize();

//    if (success) {
//       qDebug() << "MQ客户端启动成功";
//    } else {
//       qDebug() << "MQ客户端启动失败:" << client->getLastError();
////       return -1;
//    }
//    // 4. 初始化低频消费组件（在连接成功之后）
//    handler = std::make_shared<MQSampleMessageHandler>();
//    std::shared_ptr<MQClient> clientPtr(client, [](MQClient*){});
//    consumer = std::make_shared<MQSimpleConsumer>(clientPtr);
//    // 5. 启动消费
//    QString queueName = configManager->getBusinessConfig().defaultQueue.name;
//    //默认1000ms
//    if (!consumer->startConsuming(queueName, handler)) {
//        qDebug() << "低频消费启动失败";
//        return -1;
//    }else{
//        qDebug() << "低频消费启动成功";
//    }


    MainWindow w;
    w.setWindowTitle("AGV");

    QFont globalFont("Microsoft YaHei", 10);
    qApp->setFont(globalFont);

    QString qss;
    QFile qssfile(":/myQss.qss");
    qssfile.open(QFile::ReadOnly);

    if(qssfile.isOpen())
    {
        qss = QLatin1String(qssfile.readAll());
        qApp->setStyleSheet(qss);
        qssfile.close();
    }

    // 设置全局字体
    QFont font("微软雅黑", 11); // 使用Arial字体，大小为10
    w.setFont(font);
    //w.show();
    w.showMaximized(); //满屏显示

    return a.exec();
}
